package br.com.kees.managedBean;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import org.primefaces.event.SelectEvent;


import br.com.kees.entidade.Grupo;
import br.com.kees.exception.KeesException;
import br.com.kees.persistencia.GrupoDao;
import br.com.kees.util.Mensagem;


@ManagedBean(name = "GrupoMb")
@ViewScoped
public class GrupoMb {

	private List<Grupo> lista = new ArrayList<Grupo>();
	private Grupo obj = new Grupo();

	@PostConstruct
	public void inicial(){
		try {
		lista = new GrupoDao().getAll();
		} catch (KeesException e) {
			Mensagem.erro("Erro ao carregar Itens!");
		}
	}
	
	public void selecionar(SelectEvent event) {
		this.obj = (Grupo) event.getObject();
	}
	
	public void limpar(){
		obj = new Grupo();
	}
	
	public void inserir(){
		try {
			new GrupoDao().save(obj);
			inicial();
			limpar();
			Mensagem.sucesso("Inserido com sucesso!");
		} catch (Exception e) {
			Mensagem.erro("Erro ao inserir!");
		}
	}
	
	public void alterar() {
		try {
			new GrupoDao().edit(obj);
			inicial();
			limpar();
			Mensagem.sucesso("Alterado com Sucesso!");
		} catch (Exception e) {
			Mensagem.erro("Erro ao Alterar!");
		}
	}
	
	public void excluir() {
		try {
			new GrupoDao().delete(obj);
			inicial();
			limpar();
			Mensagem.sucesso("Excluido com Sucesso!");
		} catch (Exception e) {
			Mensagem.erro("Erro ao Excluir!");
		}
	}	

	public List<Grupo> getLista() {
		return lista;
	}

	public void setLista(List<Grupo> lista) {
		this.lista = lista;
	}

	public Grupo getObj() {
		return obj;
	}

	public void setObj(Grupo obj) {
		this.obj = obj;
	}

	
}
